package com.efast.cafe.portal.service.api;

import java.util.List;

import com.efast.cafe.portal.bean.api.PortalApiProjectBean;
import com.efast.cafe.portal.bean.api.PortalApiProjectDto;
import com.efast.cafe.portal.bean.api.PortalApiUpdateFaultDefBean;
import com.efast.cafe.portal.bean.api.PortalTreeNodeBean;

/**
 * <p>
 * Service接口
 * </p>
 * <p>
 * Table: portal_api_project - 所属项目定义
 * </p>
 *
 * @since 2017-08-08 11:45:28
 */
public interface IPortalApiProjectService {

	/**
	 * 新增apiProject
	 * 
	 * @param apiProjectBean
	 * @return
	 */
	public int insertApiProject(PortalApiProjectBean apiProjectBean);

	/**
	 * 修改apiProject
	 * 
	 * @param apiProjectBean
	 * @return
	 */
	public void updateApiProject(PortalApiProjectBean apiProjectBean);

	/**
	 * 删除apiProject---------》修改isdel字段为1 删除需判断该项目有无系统，有的话不能删除
	 * 
	 * @param apiProjectBean
	 */
	public void deleteApiProject(PortalApiProjectBean apiProjectBean);

	/**
	 * 发布项目
	 * 
	 * @Date : 2017年8月14日
	 * @param apiProjectBean
	 * @return
	 */
	public int publishApiProject(PortalApiProjectBean apiProjectBean);

	/**
	 * 升级项目
	 * 
	 * @Date : 2017年8月15日
	 * @param apiProjectBean
	 * @return
	 */
	public int upgradeApiProject(PortalApiProjectBean apiProjectBean);

	/**
	 * 构造树
	 * 
	 * @Date : 2017年8月18日
	 * @param portalApiProjectDto
	 * @return
	 */
	public List<PortalTreeNodeBean> treeApiProject(PortalApiProjectDto portalApiProjectDto);

	/**
	 * 替换（查询除了当前项目版本之外的该项目的所有版本）
	 * 
	 * @Date : 2017年8月25日
	 * @param apiProjectBean
	 * @return
	 */
	public List<PortalApiProjectBean> queryProjectByIdAndUUid(PortalApiProjectBean apiProjectBean);

	/**
	 * 替换
	 * 
	 * @Date : 2017年8月30日
	 */
	public void updateDefaultDef(PortalApiUpdateFaultDefBean updateFaultDefBean);

}